Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.08.2011, 19:42
Аспирант
Отправить личное сообщение для Tchort Посмотреть профиль Найти все сообщения от Tchort
 
Регистрация: 02.03.2010
Сообщений: 32

Изменение адреса страницы после аякса.
Как можно передавать значение аяксу, но во время получения ответа от акся добавлять результат в строку адрес страницы?

Пример, я передал айди(24) сообщения которое нужно удалить, функция сработала и удалила.
function deletemessage(id, link)
    {
        jQuery.noConflict();
        document.getElementById('wall').src = link;
        //alert(id);
        jQuery.ajax({url: "/main_include/message_wall/delete_message_wall.php",
            dataType: "html",
            type: "POST",
            data: { c: id},
            success: function(msg) {
                //alert("хуяк");
                document.getElementById('wall').innerHTML = msg;
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert('Ошибка');
            }
        });
    };


Но после того как она удалила, аредс страницы стал например не site.ru/message/ а site.ru/message/?del=24

Но естественно все это без перезагрузки страницы.

Можно ли такое сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2011, 20:51
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

function deletemessage(id, link)
    {
        jQuery.noConflict();
        document.getElementById('wall').src = link;
        //alert(id);
        jQuery.ajax({url: "/main_include/message_wall/delete_message_wall.php",
            dataType: "html",
*!*
            beforeSend : function(){  history.replaceState({}, document.title, location.href+"?del="+id ) },
*/!*
            type: "POST",
            data: { c: id},
            success: function(msg) {
                //alert("хуяк");
                document.getElementById('wall').innerHTML = msg;
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert('Ошибка');
            }
        });
    };


есс-но это в IE работать не будет.
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2011, 20:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от melky
есс-но это в IE работать не будет.
с мои плагином будет "history рассширение для браузеров не поддерживающих pushState, replaceState"
Ответить с цитированием
  #4 (permalink)  
Старый 27.08.2011, 21:12
Аспирант
Отправить личное сообщение для Tchort Посмотреть профиль Найти все сообщения от Tchort
 
Регистрация: 02.03.2010
Сообщений: 32

Спасибо.
Ответить с цитированием
  #5 (permalink)  
Старый 27.08.2011, 21:25
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от devote Посмотреть сообщение
с мои плагином будет "history рассширение для браузеров не поддерживающих pushState, replaceState"
ого, хорошая задумка!
Ответить с цитированием
  #6 (permalink)  
Старый 27.08.2011, 22:44
Аспирант
Отправить личное сообщение для Tchort Посмотреть профиль Найти все сообщения от Tchort
 
Регистрация: 02.03.2010
Сообщений: 32

Господа, а как сюда еще прелоадер вставить?
Ответить с цитированием
  #7 (permalink)  
Старый 28.08.2011, 01:26
Аспирант
Отправить личное сообщение для Tchort Посмотреть профиль Найти все сообщения от Tchort
 
Регистрация: 02.03.2010
Сообщений: 32

А можно ли сначала очистить стороку браузера а потом добавить результат аякса?
А то например получается такое: site.ru/message/?del=23?del=22?del?=64
Ответить с цитированием
  #8 (permalink)  
Старый 28.08.2011, 09:42
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

да, можно. это вам домашнее задание

надо пошаманить с красной строкой
beforeSend : function(){  
            history.replaceState({},
                       document.title, 
*!*
                        location.href+"?del="+id
*/!*
 ) }
Ответить с цитированием
  #9 (permalink)  
Старый 28.08.2011, 14:33
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

location.pathname+"?del="+id
Ответить с цитированием
  #10 (permalink)  
Старый 03.09.2011, 00:20
Новичок на форуме
Отправить личное сообщение для Actine Посмотреть профиль Найти все сообщения от Actine
 
Регистрация: 02.09.2011
Сообщений: 3

мне кажется, что браузер в таком случае перейдет по новой ссылке.
лично я использую хеши, которые обрабатываю джаваскриптом (ссылки наподобе http://dev.null.org/#!share=lorem%20ipsum )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать паузу после загрузки страницы? denisOgr AJAX и COMET 2 06.08.2011 15:01
Как отследить изменение адреса страницы? Neokortex Events/DOM/Window 2 10.07.2011 14:41
Позиционирование экрана на выбранном элементе страницы после перезагрузки qwr938 Общие вопросы Javascript 4 31.01.2011 21:01
Событие после обновления страницы ajax'ом kryzhovnik Events/DOM/Window 4 07.10.2009 22:32
firefox зависает после обновления страницы constantant Firefox/Mozilla 4 14.09.2009 12:30